www.gusucode.com > 基于matlab编程蒙特卡罗仿真设计源码程序 > 基于matlab编程蒙特卡罗仿真设计源码程序/第五讲 蒙特卡洛方法的应用/sjtdf_zuoye2.m

    function result=sjtdf_zuoye2(a1,b1,a2,b2,m,mm)
%a1是外重积分的下限
%b1是外重积分的上限
%a2是内重积分的下限
%b2是内重积分的上限
%m是函数的上界%积分函数cos(x)+sin(y)+3
%mm 是随机实验次数
frq=0;
xrandnum = unifrnd(a2,b2,1,mm);
yrandnum = unifrnd(a1,b1,1,mm);
zrandnum = unifrnd(0,m,1,mm);
for ii=1:mm
    if (cos(xrandnum(1,ii))+sin(yrandnum(1,ii))+3>=zrandnum(1,ii))
        frq=frq+1;
    end    
end    
result=frq*m*(b1-a1)*(b2-a2)/mm

return
sjtdf_zuoye2(0,4,1,3,6,10000),  result =   24.8160
sjtdf_zuoye2(0,4,1,3,6,10000),  result =   24.4800